Not all occurrences of this warning can be fixed today, so put it behind
a G_ENABLE_DEBUG flag since it still shows legitimate problems even if
some of them are false positives.
if (push_group)
cairo_push_group (cr);
+#ifdef G_ENABLE_DEBUG
if (_gtk_widget_get_alloc_needed (widget))
g_warning ("%s %p is drawn without a current allocation. This should not happen.", G_OBJECT_TYPE_NAME (widget), widget);
+#endif
if (g_signal_has_handler_pending (widget, widget_signals[DRAW], 0, FALSE))
{